package com.dmai.capacity.platform.user.service;


import com.dmai.capacity.platform.common.dto.PageResult;
import com.dmai.capacity.platform.user.model.SysInstitution;
import com.dmai.capacity.platform.user.pojo.request.InstitutionRegisterAgainRequest;
import com.dmai.capacity.platform.user.pojo.request.InstitutionRegisterRequest;
import com.dmai.capacity.platform.user.pojo.response.InstitutionVO;

import java.util.Map;
import java.util.List;

/**
 * 机构表
 *
 * @author
 * @email
 * @date 2024-05-22 13:36:20
 */
public interface ISysInstitutionService {

    /**
     * 注册
     *
     * @param institution
     */
    int register(InstitutionRegisterRequest institution);

    /**
     * 注册
     *
     * @param institution
     */
    int registerAgain(InstitutionRegisterAgainRequest institution);

    /**
     * 审核
     *
     * @param id        机构id
     * @param authState 审核结果：1通过，-1驳回
     * @param remark    审核意见
     * @return
     */

    int auth(Long id, Integer authState, String remark);


    /**
     * 修改
     *
     * @param sysInstitution
     */
    int update(SysInstitution sysInstitution);

    /**
     * 删除
     *
     * @param id
     */
    int delete(Long id);


    /**
     * 查询记录
     *
     * @param id
     * @return
     */
    InstitutionVO findById(Long id);


    /**
     * 查询记录
     *
     * @param adminAccount
     * @param password
     * @return
     */
    InstitutionVO findByAccount(String adminAccount, String password, boolean check);


    /**
     * 分页
     *
     * @param params
     * @return
     */
    PageResult<InstitutionVO> pageAll(Map<String, Object> params);

    /**
     * 列表
     *
     * @param params
     * @return
     */
    List<InstitutionVO> findAll(Map<String, Object> params);


    /**
     * 统计个数
     */
    Integer count(Map<String, Object> params);
}

